9 research outputs found

    Approach to attributed feature modeling for requirements elicitation in Scrum agile development

    Get PDF
    Requirements elicitation is a core activity of requirements engineering for the product to be developed. The knowledge that has been gained during requirements engineering about the product to be developed forms the basis for requirement elicitation. The agile approach is becoming known day by day as the most widely used innovative process in the domain of requirements engineering. Requirements elicitation in agile development faces several challenges. Requirements must be gathered sufficiently to reflect stakeholders' needs. Furthermore, because of the development process, requirements evolve, and they must be adequately treated to keep up with the changing demands of the market and the passage of time. Another challenge with agile implementation is handling non-functional requirements in software development. Addressing non- functional requirements is still a critical factor in the success of any product. Requirements prioritization is also one of the most challenging tasks, and it is uncommon for requirement engineers to be able to specify and document all the requirements at once. This paper presents an approach for requirements elicitation in scrum-based agile development. The approach operates with the feature modeling technique, which is originally used in the Software Product Line (SPL). One of the most important proposed extensions to Feature Models (FMs) is the introduction of feature attributes. Our method uses attributed FMs to consider both functional and non-functional requirements as well as requirement prioritization. For the evaluation purposes, we have demonstrated our approach through two case studies in different domains of software product development. The first case study is in the domain of education, and the second one is in the domain of health care. The results reveal that our approach fits the requirements elicitation process in scrum agile development.Bourns College of Engineering, University of California, Riverside(undefined

    A concrete product derivation in software product line engineering: a practical approach

    Get PDF
    Software Product Lines enable the development of a perfect family of products by reusing shared assets in a systematic manner. Product derivation is a critical activity in software product line engineering and one of the most pressing issues that a software product line must address. This work introduces an approach for automating the derivation of a product from a software product line. The software product line is part of a product family that evolved from a non-structured approach to managing variability. The automated derivation approach relies on product configurations and the refactoring of feature models. The approach was deployed and evaluated in the automotive domain using a real-world software product line. The outcome demonstrates that the approach generates a product in an automated and successful manner.This work has been supported by FCT – Fundação para a Ciência e Tecnologia within the R&D Units Project Scope: UIDB/00319/2020

    FedCSD: A Federated Learning Based Approach for Code-Smell Detection

    Full text link
    This paper proposes a Federated Learning Code Smell Detection (FedCSD) approach that allows organizations to collaboratively train federated ML models while preserving their data privacy. These assertions have been supported by three experiments that have significantly leveraged three manually validated datasets aimed at detecting and examining different code smell scenarios. In experiment 1, which was concerned with a centralized training experiment, dataset two achieved the lowest accuracy (92.30%) with fewer smells, while datasets one and three achieved the highest accuracy with a slight difference (98.90% and 99.5%, respectively). This was followed by experiment 2, which was concerned with cross-evaluation, where each ML model was trained using one dataset, which was then evaluated over the other two datasets. Results from this experiment show a significant drop in the model's accuracy (lowest accuracy: 63.80\%) where fewer smells exist in the training dataset, which has a noticeable reflection (technical debt) on the model's performance. Finally, the last and third experiments evaluate our approach by splitting the dataset into 10 companies. The ML model was trained on the company's site, then all model-updated weights were transferred to the server. Ultimately, an accuracy of 98.34% was achieved by the global model that has been trained using 10 companies for 100 training rounds. The results reveal a slight difference in the global model's accuracy compared to the highest accuracy of the centralized model, which can be ignored in favour of the global model's comprehensive knowledge, lower training cost, preservation of data privacy, and avoidance of the technical debt problem.Comment: 17 pages, 7 figures, Journal pape

    Selection of human evaluators for design smell detection using dragonfly optimization algorithm : An empirical study

    No full text
    Context: Design smell detection is considered an efficient activity that decreases maintainability expenses and improves software quality. Human context plays an essential role in this domain.Objective: In this paper, we propose a search-based approach to optimize the selection of human evaluators for design smell detection.Method: For this purpose, Dragonfly Algorithm (DA) is employed to identify the optimal or near-optimal human evaluator's profiles. An online survey is designed and asks the evaluators to evaluate a sample of classes for the presence of god class design smell. The Kappa-Fleiss test has been used to validate the proposed approach. Results: The results show that the dragonfly optimization algorithm can be utilized effectively to decrease the efforts (time, cost ) of design smell detection concerning the identification of the number and the optimal or near-optimal profile of human experts required for the evaluation process.Conclusions: A Search-based approach can be effectively used for improving a god-class design smell detection. Consequently, this leads to minimizing the maintenance cost

    Analysing Agreement Among Different Evaluators in God Class and Feature Envy Detection

    Get PDF
    The automatic detection of Design Smells has evolved in parallel to the evolution of automatic refactoring tools. There was a huge rise in research activity regarding Design Smell detection from 2010 to the present. However, it should be noted that the adoption of Design Smell detection in real software development practice is not comparable to the adoption of automatic refactoring tools. On the basis of the assumption that it is the objectiveness of a refactoring operation as opposed to the subjectivity in definition and identification of Design Smells that makes the difference, in this paper, the lack of agreement between different evaluators when detecting Design Smells is empirically studied. To do so, a series of experiments and studies were designed and conducted to analyse the concordance in Design Smell detection of different persons and tools, including a comparison between them. This work focuses on two well known Design Smells: God Class and Feature Envy. Concordance analysis is based on the Kappa statistic for inter-rater agreement (particularly Kappa-Fleiss). The results obtained show that there is no agreement in detection in general, and, in those cases where a certain agreement appears, it is considered to be a fair or poor degree of agreement, according to a Kappa-Fleiss interpretation scale. This seems to confirm that there is a subjective component which makes the raters evaluate the presence of Design Smells differently. The study also raises the question of a lack of training and experience regarding Design Smells

    A comparison of machine learning algorithms on design smell detection using balanced and imbalanced dataset : A study of God class

    No full text
    Context: Design smell detection has proven to be a significant activity that has an aim of not only enhancing the software quality but also increasing its life cycle. Objective: This work investigates whether machine learning approaches can effectively be leveraged for software design smell detection. Additionally, this paper provides a comparatively study, focused on using balanced datasets, where it checks if avoiding dataset balancing can be of any influence on the accuracy and behavior during design smell detection. Method: A set of experiments have been conducted-using 28 Machine Learning classifiers aimed at detecting God classes. This experiment was conducted using a dataset formed from 12,587 classes of 24 software systems, in which 1,958 classes were manually validated. Results: Ultimately, most classifiers obtained high performances,-with Cat Boost showing a higher performance. Also, it is evident from the experiments conducted that data balancing does not have any significant influence on the accuracy of detection. This reinforces the application of machine learning in real scenarios where the data is usually imbalanced by the inherent nature of design smells. Conclusions: Machine learning approaches can effectively be used as a leverage for God class detection. While in this paper we have employed SMOTE technique for data balancing, it is worth noting that there exist other methods of data balancing and with other design smells. Furthermore, it is also important to note that application of those other methods may improve the results, in our experiments SMOTE did not improve God class detection. The results are not fully generalizable because only one design smell is studied with projects developed in a single programming language, and only one balancing technique is used to compare with the imbalanced case. But these results are promising for the application in real design smells detection scenarios as mentioned above and the focus on other measures, such as Kappa, ROC, and MCC, have been used in the assessment of the classifier behavior

    Prioritization of god class design smell : A multi-criteria based approach

    No full text
    Context: Design smell Prioritization is a significant activity that tunes the process of software quality enhancement and raises its life cycle. Objective: A multi-criteria merge strategy for Design Smell prioritization is described. The strategy is exemplified with the case of God Class Design Smell. Method: An empirical adjustment of the strategy is performed using a dataset of 24 open source projects. Empirical evaluation was conducted in order to check how is the top ranked God Classes obtained by the proposed technique compared against the top ranked God class according to the opinion of developers involved in each of the projects in the dataset. Results: Results of the evaluation show the strategy should be improved. Analysis of the differences between projects where respondents answer correlates with the strategy and those projects where there is no correlation should be done

    Biochar and Its Broad Impacts in Soil Quality and Fertility, Nutrient Leaching and Crop Productivity: A Review

    No full text
    Biochar is gaining significant attention due to its potential for carbon (C) sequestration, improvement of soil health, fertility enhancement, and crop productivity and quality. In this review, we discuss the most common available techniques for biochar production, the main physiochemical properties of biochar, and its effects on soil health, including physical, chemical, and biological parameters of soil quality and fertility, nutrient leaching, salt stress, and crop productivity and quality. In addition, the impacts of biochar addition on salt-affected and heavy metal contaminated soils were also reviewed. An ample body of literature supports the idea that soil amended with biochar has a high potential to increase crop productivity due to the concomitant improvement in soil structure, high nutrient use efficiency (NUE), aeration, porosity, and water-holding capacity (WHC), among other soil amendments. However, the increases in crop productivity in biochar-amended soils are most frequently reported in the coarse-textured and sandy soils compared with the fine-textured and fertile soils. Biochar has a significant effect on soil microbial community composition and abundance. The negative impacts that salt-affected and heavy metal polluted soils have on plant growth and yield and on components of soil quality such as soil aggregation and stability can be ameliorated by the application of biochar. Moreover, most of the positive impacts of biochar application have been observed when biochar was applied with other organic and inorganic amendments and fertilizers. Biochar addition to the soil can decrease the nitrogen (N) leaching and volatilization as well as increase NUE. However, some potential negative effects of biochar on microbial biomass and activity have been reported. There is also evidence that biochar addition can sorb and retain pesticides for long periods of time, which may result in a high weed infestation and control cost
    corecore